package SistemaDAOS;

import Herramientas.PasarelaDatos;
import Herramientas.ResultSets;
import SistemaDTOS.UsersDataDTO;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * @author Mauricio Alan
 */
public class UsersDataDAO {

    private PasarelaDatos db;
    private ResultSets res;

    public UsersDataDAO() {
        db = new PasarelaDatos();
        res = new ResultSets();
    }

    /**
     * ALAN GONZALEZ METODO PARA AGREGAR INFORMACIO
     */
    public void agregarInformacionUsuario(UsersDataDTO ud) {
        db.openDatabase();
        String query = " INSERT INTO user_data SET ";
        query += " id_user = " + ud.getIdUser() + ",";
        query += " nombre ='" + ud.getNombre() + "',";
        query += " apmat ='" + ud.getApMaterno() + "',";
        query += " appat ='" + ud.getApPaterno() + "', ";
        query += " domicilio ='" + ud.getDireccion() + "', ";
        query += " telefono ='" + ud.getTelefono() + "', ";
        query += " celular ='" + ud.getCelular() + "', ";
        query += " email ='" + ud.getMail() + "', ";
        query += " fecha_nacimiento = '" + ud.getAnioNacimiento() + "-" + ud.getMesNacimiento() + "-" + ud.getDiaNacimiento() + "';";
        db.execute(query);
        db.closeDatabase();
    }

    /**
     * ALAN GONZALEZ ESTE METODO RECUPERA EN DTO DE LAS GENERALES DE UN USUARIO
     * SEGUN SU ID
     *
     * @param idUser
     * @return
     */
    public UsersDataDTO generalesUsuario(int idUser) {
        UsersDataDTO generales = new UsersDataDTO();
        String sql = "select * from user_data where user_data.id_user = " + idUser;
        db.openDatabase();
        ResultSet rst = db.executeQuery(sql);
        try {
            if (rst.next()) {
                generales = res.usersDataDTO(rst);
            } else {
                generales = null;
            }
        } catch (SQLException ex) {
            Logger.getLogger(UsersDataDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        db.closeDatabase();
        return generales;
    }
}
